#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
 ============================================================================
 Name        :  CRNG.c
 Author      :  Carlos Sancho & Armando Gomes
 Version     :  08/02/2012
 Description :  Trabalho realizado no âmbito da Unidade Curricular de
                Conceitos de Programação para a Segurança 
                Módulo de Python.
                Este Código tem como objectivo demonstrar a facilidade
                e eficiência da integração de bibliotecas programadas
                com o recurso à Linguagem C, em código Python.
Docente      :  José Jasnau Caeiro
 ============================================================================

Tempos Médios de Execução:
    Nºs Gerados     Tempo
    1 000 000:      0.04s
    10 000 000:     0.374s
    100 000 000:    3.7s

CPU: Intel® Core™2 Duo Processor E8500 
    (6M Cache, 3.16 GHz, 1333 MHz FSB)
 '''

import time
import sys
from ctypes import *


if len(sys.argv) != 2: 
    print 'usage: python PyRNG.py <number_of_runs>' 
    sys.exit(1) 


t1 = time.clock()

libc = CDLL("./CRNGtoPython.so")

libc.pseudo_rand(int(sys.argv[1]))

t2 = time.clock()

print "Time Elasped: " + str(t2-t1)

